// subpkg/pages/act-detail/act-detail.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    active: 0,
    activity:{},//活动信息对象
    showFeedback: false, // 控制组件显示
    feedbackText: '',   // 用户输入的反馈文本
    files: [],          // 上传的图片列表
    userInfo: null,     // 用户信息
  },

  // 直接报名事件处理函数
  enrollActivity(){
    // 检查用户是否登录
    const userInfo = wx.getStorageSync('user2');
    if (!userInfo || !userInfo.name) {
      wx.showToast({
        title: '请先登录',
        icon: 'none',
        duration: 2000
      });
      // 可以选择跳转到登录页面
      setTimeout(() => {
        wx.navigateTo({
          url: '/pages/login/login',
        });
      }, 1500);
      return;
    }

    // 获取用户姓名和学号
    const name = userInfo.name;
    const stuid = userInfo._id || userInfo.stuid; // 根据存储格式可能是_id或stuid

    // 准备提交的数据
    const enrollData = {
      name: name,
      study: stuid,
      activityId: this.data.activity._id || '', // 活动ID
      activityName: this.data.activity.name || '' // 活动名称
    };

    // 提交报名信息
    this.submitEnrollData(enrollData);
  },

  // 提交报名数据到服务器
  submitEnrollData(data) {
    wx.showLoading({
      title: '报名中...',
    });

    wx.request({
      url: 'http://localhost:3000/api/enroll', // 替换为实际的后端接口地址
      method: 'POST',
      data: data,
      success: (res) => {
        wx.hideLoading();
        if (res.statusCode === 200) {
          // 成功提示
          wx.showToast({
            title: '报名成功',
            icon: 'success',
            duration: 2000
          });
        } else {
          // 失败提示
          wx.showToast({
            title: res.data.message || '报名失败',
            icon: 'none',
            duration: 2000
          });
        }
      },
      fail: (error) => {
        wx.hideLoading();
        console.error('请求失败:', error);
        wx.showToast({
          title: '网络错误，请重试',
          icon: 'none',
          duration: 2000
        });
      }
    });
  },

  // 原报名方法（保留但不使用）
  goToEnroll(){
    wx.navigateTo({
      url: '/subpkg/pages/enroll/enroll',
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    if (!options.payload) {
      console.error("payload 参数未传递");
      wx.showToast({ title: '数据加载失败', icon: 'none' });
      return;
    }

    try {
      // 2. 解码并解析 JSON
      const decoded = decodeURIComponent(options.payload);
      const activity = JSON.parse(decoded);
      console.log("解析后的 activity:", activity);

      // 3. 更新页面数据
      this.setData({ activity });

      // 4. 获取用户信息
      const userInfo = wx.getStorageSync('user2');
      if (userInfo) {
        this.setData({ userInfo });
        console.log("当前用户信息:", userInfo);
      }
    } catch (error) {
      console.error("JSON 解析失败:", error);
      wx.showToast({ title: '数据解析错误', icon: 'none' });
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 页面显示时打开反馈组件
    this.setData({ showFeedback: false });

    // 刷新用户信息
    const userInfo = wx.getStorageSync('user2');
    if (userInfo) {
      this.setData({ userInfo });
    }
  },
  // 关闭反馈组件
  handleClose() {
    this.setData({ showFeedback: false });
  },
  // 提交反馈
  submitFeedback() {
    if (!this.data.feedbackText.trim()) {
      wx.showToast({ title: '请填写反馈内容', icon: 'none' });
      return;
    }

    // 这里可以添加提交到服务器的逻辑
    console.log('提交内容：', {
      text: this.data.feedbackText,
      images: this.data.files
    });

    wx.showToast({ title: '提交成功' });
    this.handleClose();
  },

  // 文本输入回调
  onTextChange(e) {
    this.setData({ feedbackText: e.detail });
  },

  // 图片上传回调
  onUploaderChange(e) {
    this.setData({ files: e.detail.fileList });
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})